In the early days of computerized systems, authentication of a user to a computer was a relatively simple task. The user typically presented a user identifier, often called a user id, and a secret password. The computer verified the password as being the correct password for that user id. On successful verification the user was allowed access to the computer, usually for a sustained period of time. If the password did not verify correctly access was denied. The simple technique worked reasonably well in the days of time-shared computer systems, where a single computer was used by multiple users accessing it from dumb terminals.
Over time computers were networked together and users became connected to this network from personal computers (PCs) rather than dumb terminals. This led to a new paradigm of computing called client-server where a user on a client computer accesses services and resources from a server computer. Most commonly today the user on the client computer uses a web browser to interact with a web server on a server computer, although other applications such as email and custom applications can also be used. For simplicity we will use the web browser as the example client application in this paper, although the discussion applies to other applications also. A server computer provides services to multiple clients and a client is often receiving services from multiple servers.
Problems with continued use of the “user id plus password method” of authentication were quickly evident in this new environment. As the network grew to become the global Internet with many millions of users, it was believed by many influential researchers and vendors that the correct and scalable solution to authentication would be grounded in the now-familiar technology of public-key cryptography. The early hope for a very simple and widely accepted digital credential to replace user id's and passwords has not come to fruition for a number of reasons. Most users still authenticate to a web site by means of a user id and password, and have to authenticate to each web site they visit often using different user id's and passwords at each site. Since the year 2003 so-called phishing and pharming attacks that capture user id's and passwords have flourished. These attacks mislead a user into believing that the user id and password is being entered into a legitimate web site while it is actually into a rogue web site that captures this information for later use to access the legitimate web site.
A more sophisticated attack called man-in-the-middle (MITM) has also appeared. In a MITM attack, the attacker interposes himself or herself in the channel between the client's web browser and the web server, so the channel can be hijacked later for misuse by the attacker, or individual transactions modified by the attacker as they occur. MITM attacks are particularly effective against one-time passwords (OTPs) which are typically generated by a small hardware token carried by the user which produces a new password periodically (say once every minute) or produces a password in response to a challenge keyed in to the token by the user as communicated by the web server. The use of end-to-end cryptographic mutual authentication such as achieved by client-side (also known as 2-way) SSL is one way to thwart MITM attacks.
As noted above, the earlier desire for a single method of authentication for all users has not materialized. Stronger forms of authentication incur additional costs and inconveniences, while weaker forms of authentication are too risky for users authorized for more sensitive tasks or transactions of higher value. The TriCipher Armored Credential System (TACS) supports different kinds of authentication for different users from a single hardened and scalable authentication server. The TriCipher authentication ladder starts with user id's and passwords at the lowest rung, progressing through browser two-factor solutions which use an encrypted cookie or browser certificate as the second factor in addition to a password, to use of 2-way SSL using a password and variety of additional factors at the user's PC embodied as cryptographic keys stored on the PC's hard disk or on portable media or on smartcards to constitute one private key with a second private key stored and used on the authentication server. Distinguished entities, which are sometime referred to as managers, on the TACS are authorized to configure the kind of authentication required for each user.
In addition to multiple strengths of authentication, enterprises are looking for additional forms of secondary authentication. After the primary authentication occurs it is desired to secondarily authenticate some users, possibly only in some circumstances. This may be in order to compensate for a lower strength of authentication or to protect against attacks by malicious software on the user's PC or other network device.
It is therefore desirable to provide for authentication in a flexible manner.